package wenjun.du.androidart.animator

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_animator.*
import wenjun.du.androidart.R


/**
 * 动画的分类：
 * view动画：平移、缩放、旋转和透明度
 * 帧动画：图片的连环播放
 * view属性动画：动态的设置目标的属性值
 *
 * View动画的应用：
 * ViewGroup设置layoutAnimation属性 实现父控件添加子控件时的动画
 * Activity/fragment跳转时候的退出和打开动画
 *
 *
 * 属性动画的使用：
 * 核心原理：时间插值器(Interpolator)和类型估值器(TypeEvaluator)
 * 时间插值器：根据时间流逝的百分比得到属性值需要改变的百分比；
 * 类型估值器：根据属性值改变的百分比 算出属性变化的值；
 *
 * 动画源码的阅读理解：
 *
 * 动画一般使用的注意地方：
 *
 * 防止出现内存泄露
 * view动画改变的只是控件的影像，并不是真实的属性值，需要注意防止出现点击、触摸事件失效的问题
 * 动画建议开启硬件加速
 *
 * */

class AnimatorActivity : AppCompatActivity() {

    companion object {
        private const val TAG = "AnimatorActivity"
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_animator)
        base_use_animator.setOnClickListener {
            val intent = Intent(this, AnimatorUseActivity::class.java)
            startActivity(intent)
        }

    }


}